cs50 solution